home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / fgl105c.zip / BB-01.ASM < prev    next >
Assembly Source File  |  1991-05-07  |  2KB  |  52 lines

  1.           EXTRN   _fg_getmode:far  ; Fastgraph's GETMODE routine
  2.           EXTRN   _fg_reset:far    ; Fastgraph's RESET routine
  3.           EXTRN   _fg_setmode:far  ; Fastgraph's SETMODE routine
  4.           EXTRN   _fg_version:far  ; Fastgraph's VERSION routine
  5.  
  6. stackseg  SEGMENT stack         ; suppress the linker's
  7. stackseg  ENDS                  ; "no stack segment" error message
  8.  
  9. _DATA     SEGMENT word public 'DATA'
  10.  
  11. major     dw      ?             ; major version number
  12. minor     dw      ?             ; minor version number
  13. old_mode  dw      ?             ; original video mode
  14.  
  15. _DATA     ENDS
  16.  
  17. dgroup    GROUP   _DATA
  18.           ASSUME  cs:main_TEXT,ds:dgroup
  19.  
  20. main_TEXT SEGMENT byte public 'CODE'
  21.  
  22. start:    mov     ax,_DATA      ; load segment location
  23.           mov     ds,ax         ; into DS register
  24.  
  25.           call    _fg_getmode   ; AX = current video mode
  26.           mov     old_mode,ax   ; save it
  27.  
  28.           mov     ax,4          ; use video mode 4
  29.           push    ax            ; pass argument to SETMODE
  30.           call    _fg_setmode   ; establish CGA four-color mode
  31.           add     sp,2          ; remove SETMODE argument
  32.  
  33.           push    old_mode      ; pass argument to SETMODE
  34.           call    _fg_setmode   ; restore original video mode
  35.           add     sp,2          ; remove SETMODE argument
  36.  
  37.           call    _fg_reset     ; restore screen attributes
  38.  
  39.           lea     ax,minor      ; get address of minor variable
  40.           push    ax            ; pass argument #2 to VERSION
  41.           lea     ax,major      ; get address of major variable
  42.           push    ax            ; pass argument #1 to VERSION
  43.           call    _fg_version   ; get the Fastgraph version number
  44.           add     sp,4          ; remove VERSION arguments
  45.  
  46.           mov     ah,76         ; function 76: terminate process
  47.           xor     al,al         ; errorlevel 0
  48.           int     21h           ; exit to DOS
  49.  
  50. main_TEXT ENDS
  51.           END     start
  52.